package com.eureka.pay.configurer.properties;

import lombok.Data;

/**
 * @Description: 预支付实体类，微信和支付宝通用
 * @Author: lixing
 * @Date: 2021/7/7 11:06
 */
@Data
public class AdvancePaymentProperties {
    /** TODO 支付对象的userid */
    private long userId;
    /** TODO 支付业务场景类型，详见枚举 */
    private String businessType;
    /** TODO 订单名称 */
    private String subject;
    /** TODO 支付金额，单位为分 */
    private String totalAmount;
    /** TODO 订单号 */
    private String orderNo;
    /** TODO 订单描述 */
    private String body;
    /** TODO 商品id */
    private String productId;
    /** TODO 公共参数，格式：UrlEncode之后json字符串 */
    private String passbackParams;
    /**
     * TODO 微信相关
     */
    /**
     * 公众号的appId
     * appid是微信公众账号或开放平台APP的唯一标识，在公众平台申请公众账号或者在开放平台申请APP账号后，微信会自动分配对应的appid，用于标识该应用。可在微信公众平台-->开发-->基本配置里面查看，商户的微信支付审核通过邮件中也会包含该字段值。
     */
    private String wechatAppId;
    /**
     * 公众号的密钥
     * AppSecret是APPID对应的接口密码，用于获取接口调用凭证access_token时使用。在微信支付中，先通过OAuth2.0接口获取用户openid，此openid用于微信内网页支付模式下单接口使用。可登录公众平台-->微信支付，获取AppSecret（需成为开发者且账号没有异常状态）。
     */
    private String wechatAppSecret;
    /**
     * 公众号下的商户id
     * 商户申请微信支付后，由微信支付分配的商户收款账号。
     */
    private String wechatMchId;
    /**
     * API v3密钥主要用于平台证书解密、回调信息解密
     * 交易过程生成签名的密钥，仅保留在商户系统和微信支付后台，不会在网络中传播。商户妥善保管该Key，切勿在网络中传输，不能在其他客户端中存储，保证key不会被泄漏。商户可根据邮件提示登录微信商户平台进行设置。也可按以下路径设置：微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全-->密钥设置
     */
    private String wechatKey;
    /**
     * 支付对象的openid
     */
    private String wechatOpenId;
    /**
     * 证书地址
     */
    private String secretPath;
    /**
     * 支付成功的回调地址
     */
    private String wechatNotifyUrl;
    /**
     * TODO 支付宝相关
     */
    /** appId */
    private String alibabaAppId;
    /** 加密方式 */
    private String alibabaSignType;
    /** 私钥 */
    private String alibabaRsaPrivateKey;
    /** 公钥 */
    private String alibabaRsaPublicKey;
    /** 支付成功后，异步调用的地址 */
    private String alibabaNotifyUrl;
    /** 支付成功后，同步调用的地址 */
    private String alibabaReturnUrl;
    /** 请求网关地址 */
    private String alibabaGatewayUrl;
    /** 编码类型 */
    private String alibabaCharset;
    /** 输出格式 */
    private String alibabaFormat;
}
